package com.ly.cloud.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ly.cloud.dto.StudentInfoDto;
import com.ly.cloud.entity.StudentInfoPo;
import com.ly.cloud.vo.GradeVo;
import com.ly.cloud.vo.RegisterInfoVo;
import com.ly.cloud.vo.StudentInfoVo;
import com.ly.cloud.vo.XjYdVo;

@Mapper
public interface StudentInfoMapper extends BaseMapper<StudentInfoPo> {

	/** 
	 * Method Name:selectXsListByCon
	 * Description:根据条件查询
	 * @param page 
	 * @param dto 条件封装对象
	 * @return List<StudentInfoVo>
	 * @author LuHuaCong
	 * @date: 2018年12月22日
	 */
	public List<StudentInfoVo> selectXsListByCon(Page<StudentInfoVo> page, @Param("dto") StudentInfoDto dto);
	
	
	/** 
	 * Method Name:selectXsid
	 * Description:查询某个班最后一位学生的学号
	 * @param bjid 班级编号
	 * @return 班上最后最后一名学生的学号
	 * @author LuHuaCong
	 * @date: 2018年12月23日
	 */
	String selectXsid(@Param("bjid") String bjid);
	
	/** 
	 * MethodName:selectRegisterInfo
	 * Description:根据学号查询注册状态
	 * @param page
	 * @param xsid 学号
	 * @return List<RegisterInfoVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	List<RegisterInfoVo> selectRegisterInfo(Page<RegisterInfoVo> page,@Param("xsid") String xsid);
	
	/** 
	 * MethodName:selectXsYdInfo
	 * Description:根据学号查询学生异动信息
	 * @param page
	 * @param xsid 学号
	 * @return List<XjYdVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	List<XjYdVo> selectXjYdInfo(Page<XjYdVo> page,@Param("xsid") String xsid);
	
	/** 
	 * MethodName:selectGradeInfo
	 * Description:根据学号查询学生成绩信息
	 * @param page
	 * @param xsid 学号
	 * @return List<GradeVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	List<GradeVo> selectGradeInfo(Page<GradeVo> page,@Param("xsid") String xsid);

	/** 
	 * Method Name:selectXsidListBynjAndXy
	 * Description:根据年级和院系代码查找学生id列表
	 * @param nj	年级 
	 * @param yxdm	院系代码
	 * @return 学生id列表
	 * @author LuHuaCong
	 * @date: 2018年12月26日
	 */
	List<String> selectXsidListBynjAndXy(@Param("nj") String nj,@Param("yxdm") String yxdm);
}

